package Entidades;

public class Nif {
   

    public static final String LETRAS = "TRWAGMYFPDXBNJZSQVHLCKE";
    
    private int dni;
    private char letra;

   
    public Nif() {
        this.dni = 0;
        this.letra = 'T';
    }

   
    public Nif(int dni, char letra) {
        this.dni = dni;
        this.letra = calcularLetra(dni);
    }

    @Override
    public String toString() {
        return String.format("%08d-%c", dni, letra);
    }

    public int getDni() {
        return dni;
    }

    public void setDni(int dni) {
        this.dni = dni;
    }

    public char getLetra() {
        return letra;
    }

    public void mostrarNif() {
        System.out.println(toString());
    }

    public static char calcularLetra(int dni) {
        return LETRAS.charAt(dni % 23);
    }

    @Override
    public boolean equals(Object o) {
        int dniAct = ((Nif)o).getDni();
        char letraAct = ((Nif)o).getLetra();
        return this.dni == dniAct && this.letra == letraAct;
    }
}
